<html>
<head><meta charset="utf-8"><title>Meeting 2021-06-21 · project-portable-simd · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/index.html">project-portable-simd</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html">Meeting 2021-06-21</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="243441933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243441933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243441933">(Jun 21 2021 at 20:57)</a>:</h4>
<p>Oof. My apologies, I took way too much time to get up.</p>



<a name="243441969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243441969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243441969">(Jun 21 2021 at 20:57)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="243442493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243442493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243442493">(Jun 21 2021 at 21:02)</a>:</h4>
<p><span class="user-mention" data-user-id="281757">@Jubilee</span> Yaargh maties!</p>



<a name="243442866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243442866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243442866">(Jun 21 2021 at 21:05)</a>:</h4>
<p>do we have a meeting agenda yet?</p>



<a name="243443024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443024">(Jun 21 2021 at 21:06)</a>:</h4>
<p>one thing to maybe look at: <a href="https://github.com/rust-lang/team/pull/582">https://github.com/rust-lang/team/pull/582</a></p>



<a name="243443039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443039">(Jun 21 2021 at 21:06)</a>:</h4>
<p>I would like to talk about our next steps to nightly</p>



<a name="243443092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443092">(Jun 21 2021 at 21:07)</a>:</h4>
<p>Not sure who needs to approve that...</p>



<a name="243443258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443258">(Jun 21 2021 at 21:08)</a>:</h4>
<p>Looks like no.</p>
<p>Yeah I don't control the team repo.<br>
I am a-okay with that.</p>
<p>There's a few PRs open, so I checked those.<br>
There's <a href="https://github.com/rust-lang/stdsimd/issues/138">stdsimd#138</a> which I haven't reviewed properly, and <a href="https://github.com/rust-lang/stdsimd/issues/136">stdsimd#136</a> which I did and merged.</p>



<a name="243443449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443449">(Jun 21 2021 at 21:10)</a>:</h4>
<p>And of course <a href="https://github.com/rust-lang/stdsimd/issues/139">stdsimd#139</a></p>



<a name="243443527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443527">(Jun 21 2021 at 21:10)</a>:</h4>
<p>and <a href="https://github.com/rust-lang/stdsimd/issues/131">stdsimd#131</a> and <a href="https://github.com/rust-lang/stdsimd/issues/126">stdsimd#126</a> which aaa.</p>



<a name="243443722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443722">(Jun 21 2021 at 21:12)</a>:</h4>
<p>to_radians could also use a special constant for more precision</p>



<a name="243443761"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443761" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443761">(Jun 21 2021 at 21:13)</a>:</h4>
<p>My understanding is it wouldn't be necessary in that direction?</p>



<a name="243443806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443806">(Jun 21 2021 at 21:13)</a>:</h4>
<p>Also, just trying to keep parity with the scalar functions honestly.  If that gets changed then we can change it too</p>



<a name="243443930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443930">(Jun 21 2021 at 21:14)</a>:</h4>
<p>well, if you use the scalar function to extract the constant like in to_degrees, you will always get the right one</p>



<a name="243443950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443950">(Jun 21 2021 at 21:14)</a>:</h4>
<p>That is a good point</p>



<a name="243443996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443996">(Jun 21 2021 at 21:15)</a>:</h4>
<p>Yeah, it should probably do that</p>



<a name="243443998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243443998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243443998">(Jun 21 2021 at 21:15)</a>:</h4>
<p>Alright, coffee.<br>
Next steps to nightly.<br>
We have to flag the repo still, and then open a PR against rust-lang/rust to add it as a git subtree.<br>
Can std even use feature flags...? I guess we are, since <code>infallible_alloc</code> is becoming a plan.</p>



<a name="243444026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444026">(Jun 21 2021 at 21:15)</a>:</h4>
<p>What do you mean by flag?</p>



<a name="243444037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444037">(Jun 21 2021 at 21:15)</a>:</h4>
<p>like the stability/feature flags.</p>



<a name="243444101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444101">(Jun 21 2021 at 21:16)</a>:</h4>
<p><code>#[cfg(feature = "blah")]</code></p>



<a name="243444122"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444122" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444122">(Jun 21 2021 at 21:16)</a>:</h4>
<p>So, based on what stdarch did, I still think our best bet is to add the module with a single overall stability flag and then narrow it down in the future from there</p>



<a name="243444131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444131">(Jun 21 2021 at 21:16)</a>:</h4>
<p>Right.</p>



<a name="243444150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444150">(Jun 21 2021 at 21:17)</a>:</h4>
<p>(which just means the attribute wouldn't go in our repo)</p>



<a name="243444161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444161">(Jun 21 2021 at 21:17)</a>:</h4>
<p>(at least none yet)</p>



<a name="243444166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444166">(Jun 21 2021 at 21:17)</a>:</h4>
<p>it wouldn't?</p>



<a name="243444175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444175">(Jun 21 2021 at 21:17)</a>:</h4>
<p>It seems to be in the stdarch repo, isn't it?</p>



<a name="243444189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444189">(Jun 21 2021 at 21:17)</a>:</h4>
<p>Nope, you can just put a single on on the <code>mod simd</code></p>



<a name="243444207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444207">(Jun 21 2021 at 21:17)</a>:</h4>
<p>doesn't every item have to be decorated with <code>#[unstable</code> of some sort?</p>



<a name="243444263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444263">(Jun 21 2021 at 21:18)</a>:</h4>
<p>Nope, it will inherit from the parent by default</p>



<a name="243444288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444288">(Jun 21 2021 at 21:18)</a>:</h4>
<p>ooh, didn't know that...</p>



<a name="243444299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444299">(Jun 21 2021 at 21:18)</a>:</h4>
<p><code>#![unstable(feature = "stdsimd", issue = "27731")]</code></p>



<a name="243444319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444319">(Jun 21 2021 at 21:18)</a>:</h4>
<p>it seems to be annotated in the stdarch repo</p>



<a name="243444324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444324">(Jun 21 2021 at 21:18)</a>:</h4>
<p>am I confusing that with something else?</p>



<a name="243444325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444325">(Jun 21 2021 at 21:18)</a>:</h4>
<p>Then you can override it. For example we can mark the module as unstable but mark a few select things as stable when we are ready (and still leave the module unstable)</p>



<a name="243444356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444356">(Jun 21 2021 at 21:19)</a>:</h4>
<p>If you look over the stdarch repo not everything is annotated</p>



<a name="243444408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444408">(Jun 21 2021 at 21:19)</a>:</h4>
<p>Anything that isn't annotated is unstable, since the entire module is unstable</p>



<a name="243444410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444410">(Jun 21 2021 at 21:19)</a>:</h4>
<p>Right, but that <code>#![unstable]</code> annotates the entire thing.</p>



<a name="243444440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444440">(Jun 21 2021 at 21:19)</a>:</h4>
<p>Oh you mean the entire crate? Yes we can do that.</p>



<a name="243444449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444449">(Jun 21 2021 at 21:19)</a>:</h4>
<p>how will you be able to stabily name things if the parent module is unstable?</p>



<a name="243444499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444499">(Jun 21 2021 at 21:20)</a>:</h4>
<p>It overrides it</p>



<a name="243444563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444563">(Jun 21 2021 at 21:20)</a>:</h4>
<p>The overall stdarch module is still unstable despite plenty of intrinsics being marked stable</p>



<a name="243444635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444635">(Jun 21 2021 at 21:20)</a>:</h4>
<p>I did some looking into stability and visibility and we have to be careful to not rely on reexport paths inheriting stability annotations.</p>



<a name="243444757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444757">(Jun 21 2021 at 21:21)</a>:</h4>
<p>so <code>core::simd::blah</code> can be named but <code>core::simd</code> can't?!</p>



<a name="243444818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444818">(Jun 21 2021 at 21:21)</a>:</h4>
<p>Kinda? Maybe?</p>



<a name="243444848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444848">(Jun 21 2021 at 21:21)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/21905">https://github.com/rust-lang/rust/issues/21905</a></p>



<a name="243444876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444876">(Jun 21 2021 at 21:21)</a>:</h4>
<p>seems user unfriendly if I can't do <code>use std::simd</code></p>



<a name="243444938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444938">(Jun 21 2021 at 21:22)</a>:</h4>
<p>I am guessing you can, since you can do it with stdarch too</p>



<a name="243444948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444948">(Jun 21 2021 at 21:22)</a>:</h4>
<p>I think modules are treated differently</p>



<a name="243444959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444959">(Jun 21 2021 at 21:22)</a>:</h4>
<p>hmm, ok</p>



<a name="243444978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444978">(Jun 21 2021 at 21:22)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/54283">https://github.com/rust-lang/rust/issues/54283</a></p>



<a name="243444994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243444994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243444994">(Jun 21 2021 at 21:22)</a>:</h4>
<p>ooh lots of guessing here about some apparently very buggy pieces of code. :^)</p>



<a name="243445035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445035">(Jun 21 2021 at 21:23)</a>:</h4>
<p>like I don't think it actually matters as long as we all fix it up within the 12 week cycle after we PR</p>



<a name="243445042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445042">(Jun 21 2021 at 21:23)</a>:</h4>
<p>Well, all I am saying is that stdarch works so we should probably just do the exact same thing</p>



<a name="243445047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445047">(Jun 21 2021 at 21:23)</a>:</h4>
<p>yeah.</p>



<a name="243445061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445061">(Jun 21 2021 at 21:23)</a>:</h4>
<p>That's the only reason I mentioned marking the crate with a stability annotation. ^^; (because stdarch does)</p>



<a name="243445137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445137">(Jun 21 2021 at 21:24)</a>:</h4>
<p>Yeah that makes sense to me, I just wanted to make sure everyone knew we didn't need to go mark every item <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="243445170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445170">(Jun 21 2021 at 21:24)</a>:</h4>
<p>Oh yes, I get that part.</p>



<a name="243445193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445193">(Jun 21 2021 at 21:24)</a>:</h4>
<p>We have to be careful about <em>reexports</em></p>



<a name="243445367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445367">(Jun 21 2021 at 21:26)</a>:</h4>
<p>Fortunately it looks like the re-export error is conservative so we won't be stabilizing something that shouldn't be</p>



<a name="243445381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445381">(Jun 21 2021 at 21:26)</a>:</h4>
<p>re: SimdArray,<br>
my hope was to just leave stuff on the trait and then either get SimdArray into the next prelude like Iterator gets special-cased or actually go and implement inherent impls. :^)</p>



<a name="243445527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445527">(Jun 21 2021 at 21:27)</a>:</h4>
<p>well, my thought is might as well implement the functions directly on the type and we can make that decision in the future</p>



<a name="243445530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445530">(Jun 21 2021 at 21:27)</a>:</h4>
<p>inherent impls sounds like the best plan to me!</p>



<a name="243445553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445553">(Jun 21 2021 at 21:27)</a>:</h4>
<p>Yeah I like the idea of inherent impls but I don't think anything in std uses them?</p>



<a name="243445616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445616">(Jun 21 2021 at 21:28)</a>:</h4>
<p>because they're not implemented yet...</p>



<a name="243445638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445638">(Jun 21 2021 at 21:28)</a>:</h4>
<p>Oh not even an initial impl? Yeah that would be why lol.</p>



<a name="243445657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445657">(Jun 21 2021 at 21:28)</a>:</h4>
<p>imho File should inherent impl Write</p>



<a name="243445663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445663">(Jun 21 2021 at 21:28)</a>:</h4>
<p>hehe.</p>



<a name="243445703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445703">(Jun 21 2021 at 21:29)</a>:</h4>
<p>I think it would probably be best to implement it on the type directly, implement the trait, then cross the bridge of inherent impls when we get there</p>



<a name="243445724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445724">(Jun 21 2021 at 21:29)</a>:</h4>
<p>But we don't know if we can deprecate the functions off the type though.</p>



<a name="243445729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445729">(Jun 21 2021 at 21:29)</a>:</h4>
<p>It would also let us stabilize some types in the future without stabilizing the trait</p>



<a name="243445731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445731">(Jun 21 2021 at 21:29)</a>:</h4>
<p>if it's like that.</p>



<a name="243445746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445746">(Jun 21 2021 at 21:29)</a>:</h4>
<p>sure but we aren't stabilizing anything yet.</p>



<a name="243445791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445791">(Jun 21 2021 at 21:30)</a>:</h4>
<p>make a <code>fake_inherent_impls</code> macro for <code>SimdArray</code> that just forwards to the trait</p>



<a name="243445803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445803">(Jun 21 2021 at 21:30)</a>:</h4>
<p>heh.</p>



<a name="243445811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445811">(Jun 21 2021 at 21:30)</a>:</h4>
<p>We also aren't using inherent impls yet!</p>



<a name="243445825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445825">(Jun 21 2021 at 21:30)</a>:</h4>
<p><em>laughs</em></p>



<a name="243445842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445842">(Jun 21 2021 at 21:30)</a>:</h4>
<p>erm, what are inherent impl's?</p>



<a name="243445852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445852">(Jun 21 2021 at 21:30)</a>:</h4>
<p>My position is basically that the trait is like... not a big deal to import.</p>



<a name="243445881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445881">(Jun 21 2021 at 21:30)</a>:</h4>
<p>and people will get errors when they try to use the trait methods without importing.</p>



<a name="243445908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445908">(Jun 21 2021 at 21:31)</a>:</h4>
<p><span class="user-mention" data-user-id="246783">@Miguel Raz Guzmán Macedo</span> it allows you to write traits that have functions that are also directly part of the type</p>



<a name="243445919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445919">(Jun 21 2021 at 21:31)</a>:</h4>
<p>I think that it's OK if it's just <strong>one</strong> trait import.</p>



<a name="243445937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445937">(Jun 21 2021 at 21:31)</a>:</h4>
<p>inherent impls are where a type makes a trait's methods always visible for just that type</p>



<a name="243445964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243445964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243445964">(Jun 21 2021 at 21:31)</a>:</h4>
<p>I agree that it's not a huge deal, but its a pretty big documentation issue right now IMO</p>



<a name="243446125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446125">(Jun 21 2021 at 21:33)</a>:</h4>
<p>Well that's kind of the thing I want to address here:</p>
<p>My experience is that new users will see a giant list of functions and then just check out, mentally.<br>
Basically I disagree with Lokathor that traits harm documentation (if used correctly).<br>
Having less "noise" (functions that are just there because they're on u32, etc.) will improve the signal.</p>



<a name="243446147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446147">(Jun 21 2021 at 21:33)</a>:</h4>
<p>I think there are too many open questions about inherent impls so we might as well act right now like they don't exist.  It probably needs to be part of that RFC to make it compatible with existing things</p>



<a name="243446207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446207">(Jun 21 2021 at 21:33)</a>:</h4>
<p>So my argument doesn't really rely on SimdArray being an inherent impl or not per se.</p>



<a name="243446372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446372">(Jun 21 2021 at 21:34)</a>:</h4>
<p>I agree to some extent, but some functions are inherently part of specific types so things will be a little split up</p>



<a name="243446419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446419">(Jun 21 2021 at 21:35)</a>:</h4>
<p>Right, and that's fine.<br>
I just want people to be able to look at SimdArray and then be able to cache that and carry it forward for SimdU32 etc.</p>



<a name="243446444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446444">(Jun 21 2021 at 21:35)</a>:</h4>
<p>In that case maybe we go back and move everything to SimdArray which is probably fine</p>



<a name="243446484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446484">(Jun 21 2021 at 21:35)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281757">Jubilee</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243446125">said</a>:</p>
<blockquote>
<p>Well that's kind of the thing I want to address here:</p>
<p>My experience is that new users will see a giant list of functions and then just check out, mentally.<br>
Basically I disagree with Lokathor that traits harm documentation (if used correctly).<br>
Having less "noise" (functions that are just there because they're on u32, etc.) will improve the signal.</p>
</blockquote>
<p>That's still my experiences fwiw.</p>
<p>I'm aiming to improve the docs but I have JuliaCon coming up so I'll get to the requested changes in a few.</p>



<a name="243446559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446559">(Jun 21 2021 at 21:36)</a>:</h4>
<p>having everything on SimdArrray makes it way easier in generic code</p>



<a name="243446592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446592">(Jun 21 2021 at 21:36)</a>:</h4>
<p>My biggest opposition to SimdArray isn't so much that it's "bad" as it's a significant departure from how the rest of std was done, for better or for worse</p>



<a name="243446663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446663">(Jun 21 2021 at 21:37)</a>:</h4>
<p>I think the precedent is there (Iterator, as I often refer to), imo, but I do agree it's different.</p>



<a name="243446697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446697">(Jun 21 2021 at 21:37)</a>:</h4>
<p>There are downsides to traits, particularly when it comes to UFCS</p>



<a name="243446702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446702">(Jun 21 2021 at 21:37)</a>:</h4>
<p>right.</p>



<a name="243446721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446721">(Jun 21 2021 at 21:37)</a>:</h4>
<p>That's why I wanted to keep it to <del>exactly one</del> as few traits <del>if</del> as possible. ^^;</p>



<a name="243446785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446785">(Jun 21 2021 at 21:38)</a>:</h4>
<p>I think the type proliferation caused by simd justifies having traits that abstract over the types</p>



<a name="243446811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446811">(Jun 21 2021 at 21:38)</a>:</h4>
<p>I think one trait is possibly a good compromise, and any more traits could be part of some "blessed" crate or a future RFC</p>



<a name="243446823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446823">(Jun 21 2021 at 21:38)</a>:</h4>
<p>Right.</p>



<a name="243446903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446903">(Jun 21 2021 at 21:39)</a>:</h4>
<p>Perhaps a separate trait for masks would be appropriate, just because masks are so different</p>



<a name="243446977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243446977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243446977">(Jun 21 2021 at 21:40)</a>:</h4>
<p>how about putting traits in a <code>num-simd</code> crate?</p>



<a name="243447007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447007">(Jun 21 2021 at 21:40)</a>:</h4>
<p>Yeah that's kind of what I was thinking.  That's probably an eventuality</p>



<a name="243447063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447063">(Jun 21 2021 at 21:40)</a>:</h4>
<p>I think traits that relate "directly" to the SIMDness should go in here, and then <code>num_simd</code> can be its own thing for things that we would like to see, basically.</p>



<a name="243447106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447106">(Jun 21 2021 at 21:41)</a>:</h4>
<p>What are masks now, a generic type?</p>



<a name="243447213"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447213" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447213">(Jun 21 2021 at 21:42)</a>:</h4>
<p>Yes, one type per width</p>



<a name="243447231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447231">(Jun 21 2021 at 21:42)</a>:</h4>
<p>Sorry for interrupting  but in <a href="https://github.com/rust-lang/stdsimd/pull/128">Caleb's suggestion here</a> there's a trait for <code>sum</code> mentioned - I'm guessing it's not the same trait being talked about here?</p>



<a name="243447258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447258">(Jun 21 2021 at 21:42)</a>:</h4>
<p>Nope, that's the std::iter::Sum trait</p>



<a name="243447358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447358">(Jun 21 2021 at 21:43)</a>:</h4>
<p>Ok, I will ask questions on the documentation thread.</p>



<a name="243447514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447514">(Jun 21 2021 at 21:45)</a>:</h4>
<p>Yeah I think a trait for SIMD vectors and a trait for SIMD masks is about the limit of what we should have in-crate for "things we expect people to import regularly".</p>



<a name="243447612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447612">(Jun 21 2021 at 21:46)</a>:</h4>
<p>I think I'd be fine with those two traits</p>



<a name="243447614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447614">(Jun 21 2021 at 21:46)</a>:</h4>
<p>I think we may want to split up SimdArray slightly, how about:</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">Simd</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">SimdMask</span><span class="w"> </span>: <span class="nc">Simd</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">SimdInt</span><span class="w"> </span>: <span class="nc">Simd</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">SimdFloat</span><span class="w"> </span>: <span class="nc">Simd</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">SimdUInt</span><span class="w"> </span>: <span class="nc">SimdInt</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">SimdSInt</span><span class="w"> </span>: <span class="nc">SimdInt</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>
</code></pre></div>



<a name="243447645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447645">(Jun 21 2021 at 21:46)</a>:</h4>
<p>Ehh, most of those would be for num-simd, heh.</p>



<a name="243447672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447672">(Jun 21 2021 at 21:47)</a>:</h4>
<p><span class="user-mention" data-user-id="229517">@Jacob Lifshay</span> I was interpreting the simd traits would not have any math in them whatsoever</p>



<a name="243447695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447695">(Jun 21 2021 at 21:47)</a>:</h4>
<p>Strictly memory access things</p>



<a name="243447696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447696">(Jun 21 2021 at 21:47)</a>:</h4>
<p><span class="user-mention silent" data-user-id="229517">Jacob Lifshay</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243447614">said</a>:</p>
<blockquote>
<p>I think we may want to split up SimdArray slightly, how about:</p>
<p><div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">Simd</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">SimdMask</span><span class="w"> </span>: <span class="nc">Simd</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>
</code></pre></div><br>
</p>
</blockquote>
<p>though this is a spicy take: <strong>should</strong> we just call it "Simd"?</p>



<a name="243447734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447734">(Jun 21 2021 at 21:47)</a>:</h4>
<p>SimdArray might be appropriate since we are mostly treating Simd as an adjective</p>



<a name="243447829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447829">(Jun 21 2021 at 21:48)</a>:</h4>
<p>do we have feelings about SimdVector?</p>



<a name="243447868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447868">(Jun 21 2021 at 21:49)</a>:</h4>
<p>Still on the fence, vector is the right term</p>



<a name="243447870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447870">(Jun 21 2021 at 21:49)</a>:</h4>
<p>I'm mostly happy as long as I can write generic code that abstracts over vector length</p>



<a name="243447872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447872">(Jun 21 2021 at 21:49)</a>:</h4>
<p>I posted my take but like... I'm not married.</p>



<a name="243447879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447879">(Jun 21 2021 at 21:49)</a>:</h4>
<p>Though it absolutely is an array as well</p>



<a name="243447887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447887">(Jun 21 2021 at 21:49)</a>:</h4>
<p>We're dating, but not exclusive.</p>



<a name="243447899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447899">(Jun 21 2021 at 21:49)</a>:</h4>
<p>I think all simd arrays are vectors but not all vectors are arrays</p>



<a name="243447921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243447921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243447921">(Jun 21 2021 at 21:50)</a>:</h4>
<p>ooh can you expand on that?</p>



<a name="243448011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448011">(Jun 21 2021 at 21:50)</a>:</h4>
<p>well, I should point out that there are people who think simd means mostly fixed-length, and vector means more SimpleV or RVV-style, with variable length</p>



<a name="243448026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448026">(Jun 21 2021 at 21:51)</a>:</h4>
<p>Well the registers (or even some of the types, such as __m128 or v128) are just buckets of bits and have no implication on what they actually contain</p>



<a name="243448036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448036">(Jun 21 2021 at 21:51)</a>:</h4>
<p>Our types are strictly arrays</p>



<a name="243448098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448098">(Jun 21 2021 at 21:51)</a>:</h4>
<p>see <a href="https://www.sigarch.org/simd-instructions-considered-harmful/">https://www.sigarch.org/simd-instructions-considered-harmful/</a></p>



<a name="243448102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448102">(Jun 21 2021 at 21:52)</a>:</h4>
<p>Well, I would say if you are familiar with Intel, vector definitely means fixed</p>



<a name="243448156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448156">(Jun 21 2021 at 21:52)</a>:</h4>
<p>Altivec as well</p>



<a name="243448175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448175">(Jun 21 2021 at 21:52)</a>:</h4>
<p>(or linear algebra <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span>)</p>



<a name="243448178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448178">(Jun 21 2021 at 21:52)</a>:</h4>
<p>well, i'd say that is definitely a misnomer, however common it is</p>



<a name="243448179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448179">(Jun 21 2021 at 21:52)</a>:</h4>
<p>well, <code>__m128i</code> can contain any integer type but <code>__m128</code> should be f32x4 or f32x1.<br>
<code>__m128d</code> is double precision, so f64x1 of f64x2</p>



<a name="243448242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448242">(Jun 21 2021 at 21:53)</a>:</h4>
<p>That's true until you hit a few of the corner cases where a __m128i has a float or a __m128 has an integer</p>



<a name="243448308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448308">(Jun 21 2021 at 21:54)</a>:</h4>
<p>v128 is probably the best example, though</p>



<a name="243448351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448351">(Jun 21 2021 at 21:54)</a>:</h4>
<p>oh god that sounds like a nightmare.</p>



<a name="243448357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448357">(Jun 21 2021 at 21:54)</a>:</h4>
<p>then there's the weird case where in altivec a 128-bit register has a 32-bit float encoded as a 64-bit float...</p>



<a name="243448359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448359">(Jun 21 2021 at 21:54)</a>:</h4>
<p>I retract my statements and run fleeing into the hills.</p>



<a name="243448398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448398">(Jun 21 2021 at 21:55)</a>:</h4>
<p>I would say all of our types are definitely both vectors and arrays so it's a wash</p>



<a name="243448415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448415">(Jun 21 2021 at 21:55)</a>:</h4>
<p>"simd array" is not exactly something I've ever heard before but it's not confusing at all either, imo</p>



<a name="243448504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448504">(Jun 21 2021 at 21:56)</a>:</h4>
<p>I've occasionally heard the term "array processor" but it's rare</p>



<a name="243448524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448524">(Jun 21 2021 at 21:56)</a>:</h4>
<p><em>nod</em></p>



<a name="243448539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448539">(Jun 21 2021 at 21:56)</a>:</h4>
<p>It's absolutely a... Unique take.</p>



<a name="243448559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448559">(Jun 21 2021 at 21:57)</a>:</h4>
<p>Or well... more inspired by Fortran/APL derivatives.</p>



<a name="243448591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448591">(Jun 21 2021 at 21:57)</a>:</h4>
<p><span class="user-mention silent" data-user-id="312331">Caleb Zulawski</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243448242">said</a>:</p>
<blockquote>
<p>That's true until you hit a few of the corner cases where a __m128i has a float or a __m128 has an integer</p>
</blockquote>
<p>But that only happens if you're doing SSE and you didn't clear the top bits or something when going to <code>ymm</code> registers right? ... Right?</p>



<a name="243448592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448592">(Jun 21 2021 at 21:57)</a>:</h4>
<p>We could also consider naming the traits simply "Vector" and "Mask" (in fact there is already a Mask trait)</p>



<a name="243448606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448606">(Jun 21 2021 at 21:57)</a>:</h4>
<p>also true.</p>



<a name="243448660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448660">(Jun 21 2021 at 21:58)</a>:</h4>
<p>I think I'd be happy with that <em>if</em> we can convince everyone that Vector has nothing to do with Vec.</p>



<a name="243448667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448667">(Jun 21 2021 at 21:58)</a>:</h4>
<p><span class="user-mention" data-user-id="246783">@Miguel Raz Guzmán Macedo</span> I should have said many floats or many ints</p>



<a name="243448688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448688">(Jun 21 2021 at 21:58)</a>:</h4>
<p><span class="user-mention" data-user-id="281757">@Jubilee</span> yeah it's slightly overloaded</p>



<a name="243448713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448713">(Jun 21 2021 at 21:58)</a>:</h4>
<p>I am tempted to just say it's called Vector, go to nightly, and see what happens</p>



<a name="243448714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448714">(Jun 21 2021 at 21:58)</a>:</h4>
<p><code>NotVecVector</code> :)</p>



<a name="243448727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448727">(Jun 21 2021 at 21:59)</a>:</h4>
<p>re: your question, Jacob:</p>
<blockquote>
<p>Naming question: Do we want the gather/gather_or methods to take a mask? or will the masked variant be named gather_masked?</p>
</blockquote>
<p>My thought was that we would use <code>_select</code> for things that are masked, but also that we might not expose a "default" masked <code>gather</code>, because we would have to OR it with the bounds mask anyways.</p>



<a name="243448734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448734">(Jun 21 2021 at 21:59)</a>:</h4>
<p><span class="user-mention silent" data-user-id="312331">Caleb Zulawski</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243448504">said</a>:</p>
<blockquote>
<p>I've occasionally heard the term "array processor" but it's rare</p>
</blockquote>
<p>Yup, array coprocessors because those differential equations are linear algebra and they need to go brrr.</p>



<a name="243448899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448899">(Jun 21 2021 at 22:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="312331">Caleb Zulawski</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243448713">said</a>:</p>
<blockquote>
<p>I am tempted to just say it's called Vector, go to nightly, and see what happens</p>
</blockquote>
<p>This almost sounds like a good idea, tbh, considering we have an established fallback position staked out.</p>



<a name="243448961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243448961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243448961">(Jun 21 2021 at 22:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281757">Jubilee</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243448727">said</a>:</p>
<blockquote>
<p>re: your question, Jacob:</p>
<blockquote>
<p>Naming question: Do we want the gather/gather_or methods to take a mask? or will the masked variant be named gather_masked?</p>
</blockquote>
<p>My thought was that we would use <code>_select</code> for things that are masked, but also that we might not expose a "default" masked <code>gather</code>, because we would have to OR it with the bounds mask anyways.</p>
</blockquote>
<p>I was thinking more of that gather/scatter should be thought of as always masked, and or-ing in the array bounds check is just part of safety...there would be unsafe variants without the bounds check</p>



<a name="243449057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449057">(Jun 21 2021 at 22:03)</a>:</h4>
<p>I'd like to merge it with SimdArray so that's in the git history, tidy things up a bit, and then we change it to <code>Vector</code> in the PR that adds our crate stability annotation, and then PR that to nightly.</p>



<a name="243449070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449070">(Jun 21 2021 at 22:03)</a>:</h4>
<p>( if that makes sense. )</p>



<a name="243449142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449142">(Jun 21 2021 at 22:03)</a>:</h4>
<p>changing to <code>Vector</code> should be a separate commit...</p>



<a name="243449146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449146">(Jun 21 2021 at 22:04)</a>:</h4>
<p>Right.</p>



<a name="243449193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449193">(Jun 21 2021 at 22:04)</a>:</h4>
<p>Jacob knows what I'm yammering about.</p>



<a name="243449214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449214">(Jun 21 2021 at 22:04)</a>:</h4>
<p><span class="user-mention silent" data-user-id="229517">Jacob Lifshay</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243448961">said</a>:</p>
<blockquote>
<p>I was thinking more of that gather/scatter should be thought of as always masked, and or-ing in the array bounds check is just part of safety...there would be unsafe variants without the bounds check</p>
</blockquote>
<p>Ah that's okay too!</p>



<a name="243449434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449434">(Jun 21 2021 at 22:06)</a>:</h4>
<p>in particular, I would like to avoid people relying on the bounds check as a substitute for actually calculating a mask</p>



<a name="243449609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449609">(Jun 21 2021 at 22:08)</a>:</h4>
<p>maybe we should panic in debug mode if any unmasked indexes are out-of-bounds</p>



<a name="243449614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449614">(Jun 21 2021 at 22:08)</a>:</h4>
<p>Hm, I think that is fair, and hopefully if people generate a guaranteed-safe mask, that would optimize out.</p>



<a name="243449641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449641">(Jun 21 2021 at 22:08)</a>:</h4>
<p>Unfortunately std is always compiled in one mode</p>



<a name="243449688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449688">(Jun 21 2021 at 22:09)</a>:</h4>
<p>Yeah honestly not keen on treating it as part of a user safety dealio that we go to large extents to add special debugging tools for.</p>



<a name="243449716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449716">(Jun 21 2021 at 22:09)</a>:</h4>
<p>At that point I think you should just use a vector of pointers, everything's up to you, good luck</p>



<a name="243449764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449764">(Jun 21 2021 at 22:10)</a>:</h4>
<p>glhf isn't the worst plan</p>



<a name="243449929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243449929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243449929">(Jun 21 2021 at 22:11)</a>:</h4>
<p>So my only remaining thought is that the "no-mask" version of <code>fn scatter</code> takes uhhh</p>



<a name="243450018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450018">(Jun 21 2021 at 22:12)</a>:</h4>
<p>If you use it on an array I wonder if the select completely optimizes out</p>



<a name="243450034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450034">(Jun 21 2021 at 22:12)</a>:</h4>
<p>maybe have a <code>&lt;const panic_on_out_of_bounds: bool = false&gt;</code> on gather/scatter?</p>



<a name="243450071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450071">(Jun 21 2021 at 22:13)</a>:</h4>
<p>though leaving that out could work...</p>



<a name="243450182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450182">(Jun 21 2021 at 22:14)</a>:</h4>
<p>I guess my concern is that using out-of-bounds indexes to indicate masked-off doesn't happen in any other simd api that I'm aware of, making it harder to translate code</p>



<a name="243450227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450227">(Jun 21 2021 at 22:15)</a>:</h4>
<p><code>fn scatter(self, slice: &amp;mut [Self::Scalar], idxs: SimdUsize&lt;LANES&gt;)</code><br>
this is the function signature for "default scatter", if it doesn't find things inbounds it just doesn't write, so there's no <code>_or</code> variant here.<br>
My thought was <code>gather_select</code> and <code>scatter_select</code> would take masks.</p>



<a name="243450356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450356">(Jun 21 2021 at 22:17)</a>:</h4>
<p>yeah, scatter doesn't need _or. I'd say gather should be named gather_or or gather_or_default, no plain gather</p>



<a name="243450384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450384">(Jun 21 2021 at 22:17)</a>:</h4>
<p>oh so <strong>no</strong> unadorned <code>gather</code>?</p>



<a name="243450388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450388">(Jun 21 2021 at 22:17)</a>:</h4>
<p>okay!</p>



<a name="243450468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450468">(Jun 21 2021 at 22:18)</a>:</h4>
<p>yeah, bad gathers just giving 0 instead sounds natural, in a way</p>



<a name="243450504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450504">(Jun 21 2021 at 22:18)</a>:</h4>
<p>there could be an unsafe unchecked_gather that assumes all lanes are always enabled...</p>



<a name="243450521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450521">(Jun 21 2021 at 22:19)</a>:</h4>
<p>damnit where's corro when I need them.</p>



<a name="243450629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450629">(Jun 21 2021 at 22:20)</a>:</h4>
<p><span class="user-mention silent" data-user-id="224471">Lokathor</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243450468">said</a>:</p>
<blockquote>
<p>yeah, bad gathers just giving 0 instead sounds natural, in a way</p>
</blockquote>
<p>except nothing else does that for gather that i'm aware of...</p>



<a name="243450633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450633">(Jun 21 2021 at 22:20)</a>:</h4>
<p>But yeah, if we want "no <code>fn gather</code>, just <code>fn gather_or</code>, <code>fn gather_or_default</code>, and <code>fn gather_select</code>" then that's fine.</p>



<a name="243450660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450660">(Jun 21 2021 at 22:21)</a>:</h4>
<p>gather_select_or_default?</p>



<a name="243450664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450664">(Jun 21 2021 at 22:21)</a>:</h4>
<p><del>aarch64</del> Neon consistently zero-fills when you do something naughty and out of bounds, and tbh some of these absolutely might be translated to a couple of vector loads and a <code>tbl</code>.</p>



<a name="243450759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450759">(Jun 21 2021 at 22:22)</a>:</h4>
<p>like, I would <strong>hope</strong> a low-effort vector gather that hits a tiny space gets translated that way.</p>



<a name="243450767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450767">(Jun 21 2021 at 22:22)</a>:</h4>
<p>but it can only zero-fill when the underlying instruction knows when it's out of bounds...</p>



<a name="243450775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450775">(Jun 21 2021 at 22:22)</a>:</h4>
<p>absolutely.</p>



<a name="243450918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450918">(Jun 21 2021 at 22:24)</a>:</h4>
<p>in my experience, neon always scalarizes gather/scatter due to lacking proper instructions</p>



<a name="243450935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243450935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243450935">(Jun 21 2021 at 22:24)</a>:</h4>
<p>Anyways I think we are largely resolved and we have once again run over time? But that's okay.<br>
<span class="user-mention" data-user-id="312331">@Caleb Zulawski</span> If you are having second thoughts about parts of <a href="https://github.com/rust-lang/stdsimd/issues/138">stdsimd#138</a> but are confident in others, it might be best to split it up into two PRs.</p>



<a name="243451102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451102">(Jun 21 2021 at 22:26)</a>:</h4>
<p>llvm-dev stuff from <a href="https://github.com/rust-lang/stdsimd/issues/109">stdsimd#109</a>: <a href="https://lists.llvm.org/pipermail/llvm-dev/2021-June/150965.html">https://lists.llvm.org/pipermail/llvm-dev/2021-June/150965.html</a></p>



<a name="243451157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451157">(Jun 21 2021 at 22:27)</a>:</h4>
<p>I'm confident with it, might just need to document it better</p>



<a name="243451168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451168">(Jun 21 2021 at 22:27)</a>:</h4>
<blockquote>
<p>Not sure if I fully understand the question - but for our Burst HPC#<br>
compiler we just:</p>
<p>- create our own TargetLibraryInfo<br>
  - use <code>targetLibraryInfo.addVectorizableFunctions(descriptors);</code> to add<br>
  scalar -&gt; vector mappings<br>
  - profit?</p>
<p>I can say that this has let us teach LLVM how to vectorize calls to math<br>
functions that don't have matching LLVM intrinsics (like acos/asin/etc).</p>
<p>-Neil.</p>
</blockquote>



<a name="243451173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451173">(Jun 21 2021 at 22:27)</a>:</h4>
<p>cool.</p>



<a name="243451189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451189">(Jun 21 2021 at 22:27)</a>:</h4>
<p>was kindly pointed to <a href="https://reviews.llvm.org/D53927">https://reviews.llvm.org/D53927</a></p>



<a name="243451304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451304">(Jun 21 2021 at 22:29)</a>:</h4>
<p>iirc there's just one TargetLibraryInfo class in llvm, it contains all the code for the different libraries</p>



<a name="243451340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451340">(Jun 21 2021 at 22:30)</a>:</h4>
<p>Cool.</p>



<a name="243451400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451400">(Jun 21 2021 at 22:30)</a>:</h4>
<p>...do uh... okay who here actually knows C++</p>



<a name="243451408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451408">(Jun 21 2021 at 22:30)</a>:</h4>
<p>writing a custom daughter class seems like the way to go only for external code</p>



<a name="243451410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451410">(Jun 21 2021 at 22:30)</a>:</h4>
<p><em>keeps hands notably down</em></p>



<a name="243451420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Thom Chiovoloni <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451420">(Jun 21 2021 at 22:30)</a>:</h4>
<p>i do but probably dont have time to do this in the near future</p>



<a name="243451437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451437">(Jun 21 2021 at 22:30)</a>:</h4>
<p>I have more experience in C++ than Rust</p>



<a name="243451439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451439">(Jun 21 2021 at 22:30)</a>:</h4>
<p>I do but... Yeah lol</p>



<a name="243451483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451483">(Jun 21 2021 at 22:31)</a>:</h4>
<p>I'm proceeding with the assumption I'll probably be writing the llvm stuff</p>



<a name="243451491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451491">(Jun 21 2021 at 22:31)</a>:</h4>
<p>Okay,<br>
I don't think Thom or Caleb should be put on call for doing this, but I know you folks will be available to bounce ideas off each other.<br>
It looks like this is up to you, Jacob, or finding another sacrificial lamb.<br>
But <strong>please do</strong> chitchat about it as we go.</p>



<a name="243451624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451624">(Jun 21 2021 at 22:33)</a>:</h4>
<p>ok, sounds good! if anyone feels so inclined, feel free to help out...it may be a while before I get around to llvm stuff</p>



<a name="243451767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451767">(Jun 21 2021 at 22:34)</a>:</h4>
<p>And I mean this without intention of putting anyone on the spot for taking up the torch, just... uhhh...<br>
if Jacob gets eaten by a grue, I'd like it if there were at least be lots of mysterious cassette tapes lying around containing fragments of conversation from which someone in the future can piece together the mystery. Ideally, we'd actually have like... real documentation as we go, but I know how things get.</p>



<a name="243451790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451790">(Jun 21 2021 at 22:35)</a>:</h4>
<p><span class="user-mention silent" data-user-id="229517">Jacob Lifshay</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243450629">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="224471">Lokathor</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243450468">said</a>:</p>
<blockquote>
<p>yeah, bad gathers just giving 0 instead sounds natural, in a way</p>
</blockquote>
<p>except nothing else does that for gather that i'm aware of...</p>
</blockquote>
<p>but you'd said gather_or_default, and default is 0.</p>



<a name="243451807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451807">(Jun 21 2021 at 22:35)</a>:</h4>
<p>the real docs are mostly <a href="https://github.com/rust-lang/stdsimd/issues/109">stdsimd#109</a></p>



<a name="243451924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451924">(Jun 21 2021 at 22:36)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281757">Jubilee</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-06-21/near/243451400">said</a>:</p>
<blockquote>
<p>...do uh... okay who here actually knows C++</p>
</blockquote>
<p>lol working on it.</p>



<a name="243451929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243451929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243451929">(Jun 21 2021 at 22:36)</a>:</h4>
<p>gather_or_default is explicitly asking for 0, I was saying implicit default 0 is uncommon</p>



<a name="243452011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243452011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Miguel Raz Guzmán Macedo <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243452011">(Jun 21 2021 at 22:37)</a>:</h4>
<p>Alright beautiful people, gotta bounce but smell ya later <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> .<br>
Thanks for all the tips!</p>



<a name="243452030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243452030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243452030">(Jun 21 2021 at 22:37)</a>:</h4>
<p>bye!</p>



<a name="243452133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243452133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243452133">(Jun 21 2021 at 22:38)</a>:</h4>
<p>Yeah it's fine IMO if we have no "basic" <code>fn gather</code>  as long as we're on the same page re: that.</p>



<a name="243452364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-06-21/near/243452364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-06-21.html#243452364">(Jun 21 2021 at 22:41)</a>:</h4>
<p>seeya!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>